package com.ts.api.module.api.wake;

/**
 * 唤醒Service
 */
public interface WakeRatioService {

    /**
     * 唤醒
     *
     * @param key       每个key单独保存一份权重规则
     * @param wakeRatio 同一个key，多次调用的时候传入不同的wakeRatio，会重置权重
     * @param canWake   false 返回唤醒失败并增加唤醒成功的权重，true 按权重进行唤醒并增加唤醒结果的权重
     * @return false    唤醒失败，true 唤醒成功
     */
    boolean wake(String key, int wakeRatio, boolean canWake);
}
